// import 'package:flutter/material.dart';
//
//
// void main() {
//   runApp(const MyApp());
// }
//
// class MyApp extends StatelessWidget {
//   const MyApp({super.key});
//
//   @override
//   Widget build(BuildContext context) {
//     return MaterialApp(
//       title: '拖动排序 Grid',
//       theme: ThemeData(primarySwatch: Colors.blue),
//       home: const DragSortGridPage(),
//     );
//   }
// }
//
// class DragSortGridPage extends StatefulWidget {
//   const DragSortGridPage({super.key});
//
//   @override
//   State<DragSortGridPage> createState() => _DragSortGridPageState();
// }
//
// class _DragSortGridPageState extends State<DragSortGridPage> {
//   // 模拟数据
//   List<String> items = List.generate(12, (index) => 'Item ${index + 1}');
//
//   @override
//   Widget build(BuildContext context) {
//     return Scaffold(
//       appBar: AppBar(title: const Text("可拖动排序 Grid")),
//       body: Padding(
//         padding: const EdgeInsets.all(12.0),
//         child: ReorderableWrap(
//           spacing: 12, // 水平间距
//           runSpacing: 12, // 垂直间距
//           padding: const EdgeInsets.all(10),
//           needsLongPressDraggable: true, // 长按才能拖动
//           onReorder: _onReorder,
//           children: items.map((item) {
//             return _buildGridItem(item);
//           }).toList(),
//         ),
//       ),
//     );
//   }
//
//   // 单个网格元素
//   Widget _buildGridItem(String title) {
//     return Container(
//       width: 80,
//       height: 80,
//       alignment: Alignment.center,
//       decoration: BoxDecoration(
//         color: Colors.blueAccent,
//         borderRadius: BorderRadius.circular(12),
//         boxShadow: const [
//           BoxShadow(color: Colors.black12, blurRadius: 4, offset: Offset(2, 2)),
//         ],
//       ),
//       child: Text(
//         title,
//         style: const TextStyle(color: Colors.white, fontWeight: FontWeight.bold),
//       ),
//     );
//   }
//
//   // 拖动排序回调
//   void _onReorder(int oldIndex, int newIndex) {
//     setState(() {
//       final element = items.removeAt(oldIndex);
//       items.insert(newIndex, element);
//     });
//   }
// }
